多人操作系統,是 Linux 多人多工的特點,所以一個系統裡,可能會有很多個群組、使用者帳號,分別可以做不一樣的設定權限。
以下操作使用 root
權限操作。
指令選項-c
備註文字-d
指定使用者帳號登入時的家目錄-D
變更預設值-e
指定帳號的有效期限-f
指定密碼過期後多少天關閉該帳號-g
指定使用者所屬主要群組-G
指定使用者所屬附加群組-m
自動建立使用者的登入目錄-M
不要自動建立使用者的登入目錄-n
取消建立使用者名稱的群組-r
建立管理者帳號-s
指定使用者登入後所使用的 shell-u
指定使用者 uid 編號
使用者愈來愈多的時候,分群真的很重要,所以此項設計在系統內是不可或缺的。
[root@localhost ~]# groupadd [參數] [編號] [群組名稱]
建立工程師群組
[root@localhost ~]# groupadd enginners
建立設計群組,群組編號為2001
[root@localhost ~]# groupadd --gid 2001 designers
[root@localhost ~]# groupmod [參數] [群組名稱]
修改群組編號:109
[root@localhost ~]# groupmod -g 109 test
修改群組名稱:test2
[root@localhost ~]# groupmod -n test2 test
一起修改
群組編號:110
群組名稱:test3
[root@localhost ~]# groupmod -g 110 -n test3 test
要刪除群組,前提是群組要是沒有人在這個群組裡,否則無法進行刪除。
[root@localhost ~]# groupdel [群組名稱]
[root@localhost ~]# gpasswd [群組名稱]
[root@localhost ~]# cat /etc/group
帳號是每個使用者在操作系統的必要通行證。
[root@localhost ~]# useradd [選項] [群組名稱] [帳號名稱]
新增使用者帳號,不指定群組 + 不指定附加群組。
[root@localhost ~]# useradd sian
新增使用者帳號,加入 enginners
群組。
[root@localhost ~]# useradd -g enginners jimmy
建立使用者帳號,加入 enginners
群組,且加入 managers
附加群組。
[root@localhost ~]# useradd -g enginners -G managers faker
建立使用者帳號,使用者使用期限到 09月27日
[root@localhost ~]# useradd -e 2020-09-28 jack
[root@localhost ~]# passwd [使用者帳號]
設定好使用者帳號的密碼,帳號才會正式啟用。
[root@localhost ~]# passwd sian
更改使用者 sian 的密碼。
新 密碼:
再次輸入新的 密碼:
passwd:所有驗證 token 都已成功更新。
userdel
意思是 User Delete。
[root@localhost ~]# userdel [使用者帳號]
刪除 sian
使用者帳號。
※ 注意:單純只有刪除帳號,不會刪除 /home/sian
的目錄,只能手動刪除使用者目錄。
[root@localhost ~]# userdel sian
刪除 sian
使用者帳號,且刪除使用者目錄。
[root@localhost ~]# userdel -r sian
[root@localhost ~]# usermod [選項] [參數] [使用者帳號]
使用者帳號sian
增加managers
的附加群組
[root@localhost ~]# usermod -G managers sian
/etc/passwd
路徑 儲存了系統帳號的資訊,包含自行建立的使用者帳號。
[root@localhost ~]# cat /etc/passwd
[root@localhost ~]# awk -F':' '{ print $1}' /etc/passwd
[root@localhost ~]# cut -d: -f1 /etc/passwd
id
指令主要查詢使用者帳號資訊,當建立一筆資料,可以使用此指令做確認。
※ 當建立帳號時,未指派帳號所屬群組的情況下,系統會自動建立一個同名的新群組,並指派一個未被使用的 uid 給使用者帳號。
[root@localhost ~]# id sian
uid=1001(sian) gid=1001(sian) groups=1001(sian)
參數
-g
、--group
顯示使用者所屬群組編號。-G
、--groups
顯示使用者所屬附加群組編號。-n
、--name
顯示帳號、所屬群組、附加群組的名稱。-r
、--real
顯示實際編號。-u
、--user
顯示帳號編號。顯示內容
uid
帳號編號(帳號)gid
群組編號(群組名稱)groups
附加群組編號(附加群組名稱)[root@localhost ~]# groups [帳號名稱]
帳號: 群組
查詢使用者帳號sian
的群組資訊
[root@localhost ~]# groups sian
sian : sian
查詢當前登入工作中的使用者。
[root@localhost ~]# w
查詢自己所屬的群組
[root@localhost ~]# groups
查詢自己的詳細資訊
[root@localhost ~]# id
我們可以在 root 權限下簡單設計幾個群組管理。
群組1:managers (使用者:jay、jimmy、sherry)
群組2:engineers (使用者:jack、black)
群組3:designers (使用者:et、may)
其他設定:jimmy 附屬群組為 engineers
交給各位讀者去做看看。